package views;

import javax.swing.JFrame;

import core.logic.services.VerwijderenBemanningVanEenVluchtService;
import core.models.dataModels.searchModels.ZoekGegVoorBookingModel;
import core.models.domainModel.Personeel;

import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.LayoutStyle.ComponentPlacement;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class VerwijderenBemanningOpEenVluchtView  extends JFrame{
	private static final long serialVersionUID = 1L;
	private static ZoekGegVoorBookingModel _model;
	private static JList<Personeel> lstBemanningsleden;
	public VerwijderenBemanningOpEenVluchtView(ZoekGegVoorBookingModel model) {
		
		_model= model;
		lstBemanningsleden = new JList();
		
		//model voor aan listbox te hangen aanmaken
		DefaultListModel<Personeel> dfListModel= new DefaultListModel<Personeel>();
		
		//defaultmodel opvullen met lijst van bemanningsleden op deze vlucht
		//lus
		for(Personeel P:_model.getCvlPersoneel())
		{
			dfListModel.addElement(P);
		}
		
		
		//defaultmodel aan listbox koppelen
		lstBemanningsleden.setModel(dfListModel);
		
		//listbox aan scrollbar koppelen
		JScrollPane scPane =new JScrollPane(lstBemanningsleden);
	
		
		JButton btnVerwijder = new JButton("Verwijder geselecteerde bemanninglid");
		btnVerwijder.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				//geselecteerd bemanningslid in model plaatsen
				_model.enkelPersoneel= (Personeel) lstBemanningsleden.getSelectedValue();
				
				//geselecteerd bemanningslid verwijderen
				VerwijderenBemanningVanEenVluchtService.VerwijderBemanningVanVlucht(_model);
				

				
			}
		});
		GroupLayout groupLayout = new GroupLayout(getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(30)
					.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING, false)
						.addComponent(btnVerwijder, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
						.addComponent(scPane, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 313, Short.MAX_VALUE))
					.addContainerGap(136, Short.MAX_VALUE))
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(27)
					.addComponent(scPane, GroupLayout.PREFERRED_SIZE, 306, GroupLayout.PREFERRED_SIZE)
					.addPreferredGap(ComponentPlacement.RELATED)
					.addComponent(btnVerwijder, GroupLayout.PREFERRED_SIZE, 45, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
		);
		getContentPane().setLayout(groupLayout);
		// TODO Auto-generated constructor stub
		

	}
}
